home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
archiver
/
jampack4.lzh
/
jampack4
/
depv2.s
< prev
next >
Wrap
Text File
|
1987-04-21
|
2KB
|
132 lines
;V2 Depack routine for JAM Packer V2.X/3.0/4.0
DEPACK:
ADDA.L #$4,A0 ;ALLOW FOR HEADER
MOVE.W #$FE,D7
MOVE.L A0,A6
MOVE.L (A0)+,D5
ADDA.L D5,A1
ADDA.L (A0),A0
SUBA.L #4,A0
TST.W -(A0)
BPL.S SKIP
SUBQ.L #1,A0
SKIP MOVE.B -(A0),D0
TOP ROL.W D7
MOVE.W D7,$FFFF8240.W
LSL.B #1,D0
BNE.S NOTE
MOVE.B -(A0),D0
ROXL.B #1,D0
NOTE BCC.S SHEP
CLR.W D1
LSL.B #1,D0
BNE.S KLF
MOVE.B -(A0),D0
ROXL.B #1,D0
KLF BCC.S PET
LEA TABL1(PC),A3
MOVEQ #3,D3
STE CLR.W D1
MOVE.B 0(A3,D3.W),D2
EXT.W D2
MOVEQ #-1,D4
LSL.W D2,D4
NOT.W D4
SUBQ.W #1,D2
ARJ LSL.B #1,D0
BNE.S BOYS
MOVE.B -(A0),D0
ROXL.B #1,D0
BOYS ROXL.W #1,D1
DBF D2,ARJ
TST.W D3
BEQ.S SHOP
CMP.W D1,D4
DBNE D3,STE
SHOP MOVE.B 4(A3,D3.W),D2
EXT.W D2
ADD.W D2,D1
PET MOVE.B -(A0),-(A1)
DBF D1,PET
SHEP MOVE.L A6,A3
ADDQ.L #$8,A3
CMPA.L A3,A0
BLE EXIT
LEA TABL2(PC),A3
MOVEQ #3,D2
CATHY LSL.B #1,D0
BNE.S ALSA
MOVE.B -(A0),D0
ROXL.B #1,D0
ALSA BCC.S FDC
DBF D2,CATHY
FDC CLR.W D1
ADDQ.W #1,D2
MOVE.B 0(A3,D2.W),D3
BEQ.S VAN
EXT.W D3
SUBQ.W #1,D3
DE LSL.B #1,D0
BNE.S VEN
MOVE.B -(A0),D0
ROXL.B #1,D0
VEN ROXL.W #1,D1
DBF D3,DE
VAN MOVE.B 5(A3,D2.W),D3
EXT.W D3
ADD.W D3,D1
CMPI.W #2,D1
BEQ.S MFD
LEA TABL3(PC),A3
MOVEQ #1,D3
LUC LSL.B #1,D0
BNE.S CML
MOVE.B -(A0),D0
ROXL.B #1,D0
CML BCC.S BBS
DBF D3,LUC
BBS ADDQ.W #1,D3
CLR.W D2
MOVE.B 0(A3,D3.W),D4
EXT.W D4
MCH LSL.B #1,D0
BNE.S SAW
MOVE.B -(A0),D0
ROXL.B #1,D0
SAW ROXL.W #1,D2
DBF D4,MCH
LSL.W #1,D3
ADD.W 4(A3,D3.W),D2
BRA.S CPUN
MFD CLR.W D2
MOVEQ #5,D3
CLR.W D4
LSL.B #1,D0
BNE.S EMF
MOVE.B -(A0),D0
ROXL.B #1,D0
EMF BCC.S CLR1
MOVEQ #8,D3
MOVEQ #$40,D4
CLR1 LSL.B #1,D0
BNE.S NOTZ
MOVE.B -(A0),D0
ROXL.B #1,D0
NOTZ ROXL.W #1,D2
DBF D3,CLR1
ADD.W D4,D2
CPUN LEA 0(A1,D2.W),A2
EXT.L D1
ADDA.L D1,A2
SUBQ.W #1,D1
WRTLP MOVE.B -(A2),-(A1)
DBF D1,WRTLP
BRA TOP
EXIT RTS
TABL1 DC.B $0A,$03,$02,$02,$0E,$07,$04,$01
TABL2 DC.B $0A,$02,$01,$00,$00,$0A,$06,$04,$03,$02
TABL3 DC.B $0B,$04,$07,$00,$01,$20,$00,$00
DC.B $00,$20